
//
//  FYBaseTableViewController.swift
//  dugeweibo
//
//  Created by pelesys on 16/8/4.
//  Copyright © 2016年 杜方宜. All rights reserved.
//

import UIKit
//在OC中没有多继承 
//协议中必选的方法, 如果不实现, 会报错 
//服从协议 和多继承写法一样
class FYBaseTableViewController: UITableViewController,FYVisitorLoginViewDelagate {
   
    /**
     SourceTree
     1偏好设置
     全名 电子邮箱 能看到记录是谁提交的 能方便找到人
     2.拖动工程所在上一级目录文件到SouthTree本地
     然后点击进入
     暂存文件 ==>终端add
     提交==>commit
     立即推送变更到orgin/master ==>push
     3.master(分支)查看历史记录 点击能回到历史版本
     4.跟项目 未暂存文件绿色加号是新建文件(也就新建项目)  黄色三个点是修改文件
     任何版本的操作都能可视化操作
     */
//视图控制器
//ViewDidLoad视图层次已经创建 创建自己视图
//LoadView加载视图 做一些区分的操作
    
    
//在OC中又多继承  那是用什么替代的
//协议中是必选的方法  如果不实现  就报错
   
//loadVIew是苹果专门为手写代码 准备的  等效与 sb / xib
//一旦实现这个方法  xib / sb就自动失效
//会自动检测 view是否为空  如果为空 会自动调用 loadView方法
      //添加用户是否登录标记
    var userLogin = FYUserAccountViewModel().userLogin
    var vistorLoginView: FYVisitorLoginView?
    override func loadView() {
        

       
//不调用super不会正常显示
//        super.loadView()
//loadView准备视图层次结构  为空又会调用loadView循环调用会崩溃
//        print(view)
        

        userLogin ?super.loadView() : loadVisitorView()
    }
    private func loadVisitorView(){
        //view的大小在view就会设置 在layoutsubviews再次修改
        //FYVisitorLoginView()是临时变量view记录了  外界访问不到
        vistorLoginView = FYVisitorLoginView()
        //设置代理
        vistorLoginView?.visitorDelegate = self
                view = vistorLoginView
        //设置navigationItem
        self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "注册", style: .plain, target: self, action: #selector(visitorWillRegistor))
        self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: "登录", style: .plain, target: self, action: #selector(visitorWillLogin))
    }
   
    //MARK:visitorDelegate协议方法
    func visitorWillLogin() {
        print("登录")
        let oauth = FYOAuthViewController()
        let nav = UINavigationController(rootViewController: oauth)
        present(nav, animated: true, completion: nil)
        
    }
    func visitorWillRegistor() {
        print("注册")
    }
   
    
    override func viewDidLoad() {
        super.viewDidLoad()
     
    }
    
}
